// amd : jquery 
// cmd模块化 : require 
// esm : import export default / export 
// CommonJs : node 里面的模块化 webpack tree-shaking : 砍树算法
// const Koa = require('koa');

// ts : 模块化用的esm模块化

import Koa from 'koa';
// express 怎么使用扩展功能 : 中间件  app.use(function(){}) 
// koa : express 
// 
import cors from '@koa/cors';
import bodyParser from 'koa-bodyparser';
// 
import router from './router';

import {createConnection} from 'typeorm'
createConnection().then(() => {

  const app = new Koa();

  app.use(cors());
  app.use(bodyParser());
  
  
  // 注册路由 GET POST PUT DELETE  
  // 通过router.allowedMethods() 来指定哪些请求方式可以被允许 并且容错 405 501
  app.use(router.routes()).use(router.allowedMethods());
  
  app.listen(4002,()=>{
    console.log('服务器已经启动 地址：http://localhost:4002');
  });
}).catch(err => {
  console.log(err);
});
